Kodougu の Rails を最新のバージョンに上げたので、その際のログを残しておきます。Rails にそれほど激しい変更がなかったらしいということと、Kodougu 自身がそれほど Rails を使い込んでいないという理由から、かなり行き当たりばったりで対処してみました。
※ それでも、一度 1.2.6 にしてから 2.0.x へ上げるという作業をしています。1.2.6 では、2.0 に向けて Depreciated な API に関する警告を出してくれるので、1.2.6 上で機能を動かしながら 2.0 対応を進めるということができます。
以下、アップグレードで参考にしたサイトです。
■ 作業ログ
(1) gem で 最新の Rails(2.0.2)に上げた
(2) サーバを起動した
(M1) 以下の警告に対処
config.breakpoint_server has been deprecated and has no effect.
config/environments/development.rb 内にある以下を削除しました。
config.breakpoint_server = true
(3) サーバを再起動して、ブラウザでトップページにアクセスした
なんと、エラーしか表示されませんでした。M2、M3 を実施したら、作業は完了しました。
(M2) セッションに関する変更を設定
Rails 2.0 では、セッションの取り扱い方が変わっています。以下を参考に、セッションに関する設定を environment.rb に追記しました。
http://d.hatena.ne.jp/yssk22/20080101#1199119523
(M3) gettext のエラーに対処
最新の Ruby なら問題ありませんが、1.8.6 p26 以前では、gettext が動かない場合があります。以下を参考に対処しました。
http://d.hatena.ne.jp/craccho/20071210
(4) 一通りテストと機能の実行をしてみた
(M4) acts_as_list をインストール
Rails 2.0 からは acts_as_* は別途プラグインとしてインストールする必要があるので、インストールしました。
ruby script/plugin install acts_as_list
(M5) render_text がなくなったので「render :text => "ほげほげ"」に書きなおした
(M6) redirect_to_url を redirect_to に置き換えた
古い acts_as_authenticated だと、redirect_to_url を使用しているので、redirect_to に置き換える必要があります。
http://www.slashdotdash.net/articles/2007/12/03/rails-2-upgrade-notes
(M7) start_form_tag を form_tag に置き換える
以前からいわれている作業です。
■ 感想
移行は思ったよりもスムーズに完了しました。Rails 勉強会では、今回のバージョンアップはマイナーバージョンアップに近いという話も出ていたくらいで、移行にはそれほど問題はないのでしょう。
Kodougu の Rails 2.0 対応版は、まだ本番サーバには上げていません。ローカルでもう少しテストをしてから、アップしたいと思います。